Extending Hardware Transactional Memory Capacity via Rollback-Only Transactions and Suspend/Resume
نویسندگان
چکیده
Transactional memory, which aims at simplifying concurrent programming by bringing the familiar abstraction of transactions to parallel computing, has grown from a “research toy” to a mature technology integrated in mainstream programming language and CPU architectures. Yet, despite being supported in commodity processors from Intel and IBM, hardware transactional memory (HTM) suffers from some limitations that hamper its wide adoption. One such notable limitation is the inability to execute transactions whose working sets exceed the capacity of CPU caches. In this paper we propose a novel approach to mitigating this limitation on IBM’s POWER8 architecture by leveraging a key combination of techniques: uninstrumented read-only transactions, ROT-based update transactions, HTM-friendly (software-based) read-set tracking, and self-tuning. Our algorithm, P8TM, can dynamically switch between different execution modes to best adapt to the nature of the transactions and the experienced abort patterns. In-depth evaluation with several benchmarks indicates that P8TM can achieve striking performance gains in workloads that stress the capacity limitations of HTM, while achieving performance on par with HTM even in unfavourable workloads.
منابع مشابه
Unrestricted Transactional Memory: Supporting I/O and System Calls Within Transactions
Hardware transactional memory has great potential to simplify the creation of correct and efficient multithreaded programs, enabling programmers to exploit the soon-to-be-ubiquitous multi-core designs. Transactions are simply segments of code that are guaranteed to execute without interference from other concurrently-executing threads. The hardware executes transactions in parallel, ensuring no...
متن کاملReduced Hardware Lock Elision
Hardware lock elision (HLE) concurrently executes lock critical sections as hardware transactions, but fallbacks to the original sequential lock fallback path when some hardware transaction fails. Recent software-assisted lock-removal based schemes provide a better concurrency by sacrificing safety (opacity). Hardware transactions can execute at the same time with the lock fallback path as long...
متن کاملPredictable transactional memory architecture for hierarchical mixed-criticality systems
A transactional memory simplifies the concurrency management in multicore systems by permitting sets of load and store instructions to be executed in an atomic way. The correct results for concurrent transactions and the execution time strongly depend on the coherency potentials, rollback capabilities and strategies of the transactional memory. A transactional memory can be implemented as a Har...
متن کاملTransactional Memory Coherence and Consistency (TCC)
The Transactional memory Coherence and Consistency (TCC) provides a shared memory model in which atomic transactions are always the basic unit of parallel work, communication, memory coherence, and memory reference consistency. TCC greatly simplifies parallel software by eliminating the need for synchronization using conventional locks and semaphores, along with their complexities. TCC hardware...
متن کاملTransparent Support for Partial Rollback in Software Transactional Memories
The Software Transactional Memory (STM) paradigm has gained momentum thanks to its ability to provide synchronization transparency in concurrent applications. With this paradigm, accesses to data structures that are shared among multiple threads are carried out within transactions, which are properly handled by the STM layer with no intervention by the application code. In this article we provi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017